package cqrtplm.dto.thirdPartyAPI;

import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @description: 传递成品状态控制表至MOM系统实体类
 * @author: zhengxiong.jiang
 * @createDate: 2025-10-23
 * @version: 1.0
 */
@Data
public class RestAdapterMomDTO {

    private String orderNo; // 订单号
    private String itemNo; // 项次
    private String factory; // 工厂
    private String clientCode; // 客户编码
    private String orderTime; // 订单时间
    private String orderUser; // 订单用户
    private String orderType; // 订单类型
    private String shipmentMethod; // 发货方式
    private String saleCountry; // 销售国家
    private String materialCode; // 材料编码
    private String materialName; // 材料名称
    private String qty; // 数量
    private String deliveryDate; // 交货日期
    private String deliveryBatchNo; // 交货批次号
    private String isMinBatch; // 是否最小批次
    private String batchType; // 批次类型
    private String parentItemNo; // 父项次
    private String orderGrade; // 订单等级
    private String itemType; // 项目类型
    private String isExamine; // 是否检查
    private String examineRatio; // 检验比例
    private String isStandard; // 是否标准
    private String po; // 采购单
    private String cMaterialName; // 客户材料名称
    private String cmtCmmt; // 客户备注
    private String loanOrderNo; // 贷款订单号
    private String loanOrderItemNo; // 贷款订单项次
    private String jzOrderNo; // 机组订单号
    private String jzOrderItemNo; // 机组订单项次
    private String enMaterialName; // 英文材料名称
    private String zsfbBom; // BOM文件
    private String zgzsm; // 质量说明书
    private String rzyq; // 认证要求
    private String productUse; // 产品用途
    private String testDes; // 测试要求
    private String specialDes; // 特殊要求
    private String explainBook; // 唛头：说明书
    private String appliqueLayout; // 唛头：贴花
    private String packLayout; // 唛头：包装
    private String terminal; // 终端要求
    private String idleStart; // 怠速启动
    private String highSpeedStart; // 高速启动
    private String altitude; // 海拔高度
    private String climate; // 气候
    private String environment; // 环境特点
    private String otherRequested; // 技术及其它要求
    private String fuel; // 燃料类型
    private String separatePacking; // 附件单独打包方式
    private String packagedAccessories; // 随机附件打包方式
    private String palletPacking; // 托盘打包方式
    private String handleDirection; // 手柄方向
    private String cPartNumber; // 客户零件编号
    private String flag; // 标志
    private String isDelete; // 是否删除
    private String companyId; // 公司ID
    private String distributionType; // 分销类型
    private String spart; // 部门
    private String depName; // 部门名称
    private String areaName; // 区域名称
    private String currencyType; // 货币类型
    private String zTerm; // 付款条件
    private String salesPrice; // 销售价格
    private String kpein; // KPI指标
    private String zsfscx; // 资格审查
    private String zsfsc; // 资格审查结果
    private String clientRecordType; // 客户记录类型
    private String cBarCode; // 客户条形码
    private String productType; // 产品类型
    private String extendName; // 扩展名
    private String protoType; // 原型类型
    private String throttleReturn; // 油门组合自动回位
    private String cbarCode; // 条形码
    private String bomGrade; // BOM等级
    private String fuelType; // 燃料类型

    public RestAdapterMomDTO (){

    }


    /**
     *  { 'id': 'rzyq', 'text': '认证要求(ord_rz)' },
     *     { 'id': 'productUse', 'text': '产品用途(prod_yt)' },
     *     { 'id': 'testDes', 'text': '测试要求(test_zh)' },
     *
     *     { 'id': 'specialDes', 'text': '特殊要求(ord_sc)' },
     *     { 'id': 'throttleReturn', 'text': '油门组合自动回位(ThrottleCombination)' },
     *     { 'id': 'separatePacking', 'text': '附件单独打包方式(item_clzj)' },
     *     { 'id': 'palletPacking', 'text': '托盘打包方式(traymode)' },
     *
     *     { 'id': 'otherRequested', 'text': '技术及其它要求(tec_rmk)' },
     *     { 'id': 'packagedAccessories', 'text': '随机附件打包方式(item_sbzj)' },
     *     { 'id': 'handleDirection', 'text': '手柄方向(HandleDirection)' },
     *
     *     { 'id': 'terminal', 'text': '水平轴-终端要求(TerminalRequirements)' },
     *     { 'id': 'terminal', 'text': '垂直轴-割草机终端要求(TerminalRequirements)' },
     *     { 'id': 'terminal', 'text': '垂直轴-清洗机终端要求(TerminalRequirements)' },
     *     { 'id': 'idleStart', 'text': '怠速启动(IdleStart)' },
     *     { 'id': 'highSpeedStart', 'text': '高速启动(HighSpeedStart)' },
     *     { 'id': 'altitude', 'text': '海拔高度(Altitude)' },
     *     { 'id': 'climate', 'text': '气候(Climate)' },
     *     { 'id': 'environment', 'text': '环境特点(EnvironmentalCharacteristics)' },
     *     //{ 'id': 'environment', 'text': '化油器燃料类型(CarburetorFuelType)' },
     *
     *     { 'id': 'explainBook', 'text': '唛头：说明书(sms)' },
     *     { 'id': 'appliqueLayout', 'text': '唛头：贴花(th)' },
     *     { 'id': 'packLayout', 'text': '唛头：包装(bzfs)' },
     *     { 'id': 'fuelType', 'text': '燃料类型(fuelType)' }
     * @param
     */
    public RestAdapterMomDTO (Map<String, String> aggregatedMap) {

        aggregatedMap.forEach((mapperName, selectValueName) -> {
            if("ord_rz".equals(mapperName)){
                this.rzyq = selectValueName;
                return;
            }
            if("prod_yt".equals(mapperName)){
                this.productUse = selectValueName;
                return;
            }
            if("test_zh".equals(mapperName)){
                this.testDes = selectValueName;
                return;
            }
            if("ord_sc".equals(mapperName)){
                this.specialDes = selectValueName;
                return;
            }
            if("ThrottleCombination".equals(mapperName)){
                this.throttleReturn = selectValueName;
                return;
            }
            if("item_clzj".equals(mapperName)){
                this.separatePacking = selectValueName;
                return;
            }
            if("traymode".equals(mapperName)){
                this.palletPacking = selectValueName;
                return;
            }
            if("tec_rmk".equals(mapperName)){
                this.otherRequested = selectValueName;
                return;
            }
            if("item_sbzj".equals(mapperName)){
                this.packagedAccessories = selectValueName;
                return;
            }
            if("HandleDirection".equals(mapperName)){
                this.handleDirection = selectValueName;
                return;
            }
            if("TerminalRequirements".equals(mapperName)){
                this.terminal = selectValueName;
                return;
            }
            if("IdleStart".equals(mapperName)){
                this.idleStart = selectValueName;
                return;
            }
            if("HighSpeedStart".equals(mapperName)){
                this.highSpeedStart = selectValueName;
                return;
            }
            if("Altitude".equals(mapperName)){
                this.altitude = selectValueName;
                return;
            }
            if("Climate".equals(mapperName)){
                this.climate = selectValueName;
                return;
            }
            if("EnvironmentalCharacteristics".equals(mapperName)){
                this.environment = selectValueName;
                return;
            }
            if("CarburetorFuelType".equals(mapperName)){
                this.environment = selectValueName;
                return;
            }
            if("sms".equals(mapperName)){
                this.explainBook = selectValueName;
                return;
            }
            if("th".equals(mapperName)){
                this.appliqueLayout = selectValueName;
                return;
            }
            if("bzfs".equals(mapperName)){
                this.packLayout = selectValueName;
                return;
            }
            if("fuelType".equals(mapperName)){
                this.fuelType = selectValueName;
                return;
            }
        });


    }


}
